Jetpack Compose 1.0 正式发布,Android 声明式 UI 时代已经到来!
作者:Anna-Chiara Bellini, Product Manager, Nick Butcher, Developer Relations
原文地址:https://android-developers.googleblog.com/2021/07/jetpack-compose-announcement.html
今天,我们正式推出 Jetpack Compose 1.0版本。作为一款用于构建原生 Android UI 的现代工具包,Jetpack Compose 用更少的代码、更强大的工具和更直观的 Kotlin API 简化并加速 Android 上的 UI 开发。
在过去的两年里,我们一直在开发 Compose,并得到了 Android 社区的反馈和参与。直到我们发布 1.0 版本时,Google Play 中已经有超过 2000 个应用在使用 Compose 了。事实上,Google Play 应用本身也在使用 Compose!但这还不是全部,我们一直在与一些顶级应用的开发人员进行合作,他们的反馈和支持帮助我们使 1.0 版本更加强大。例如,Square 告诉我们,通过使用 Compose,他们可以更加专注于UI基础设施所特有的东西,而不是解决构建声明式UI框架这一更广泛的问题。Monzo 说,Compose 让他们能够 "更快构建更高质量的UI效果"。而 Twitter则很好地总结了这一点。"我们喜欢它! ❤️"
Jetpack Compose 关键功能
我们设计 Compose 的目的是为了让构建原生 Android 应用程序变得更快、更容易。通过一个完全声明式的方法,您只需描述您的用户界面,其余的由Compose来处理。随着应用状态的变化,您的UI会自动更新,这使得快速构建UI变得更加简单。直观的Kotlin API帮助您用更少的代码构建漂亮的应用,而对所有现有Android代码的原生访问意味着您可以按照自己的需求进行使用。强大的布局 API 和代码驱动的 UI 系统使其能够轻松地支持不同的终端设备,如平板电脑和可折叠设备,Jetpack Compose 同时也支持 WearOS、屏幕小组件等。
Jetpack Compose 1.0 版本已经可以在生产环境中使用了,以下提供了您所需要的关键功能。
可互操作: Compose 与 View 的互操作非常好,您可以在 View 中嵌入 Compose 或在 Compose 中嵌入 View。您可以在屏幕上添加一个按钮,也可以将您创建的自定义视图保留在现在的 Compose 中。 集成 Jetpack 组件库: Compose 旨在与您熟悉和喜爱的 Jetpack 库集成。通过与 Navigation、Paging、LiveData(或 Flow / RxJava)、ViewModel 和 Hilt 的集成,Compose 可以与您现有的架构一起使用。 Material: Compose 提供 Material Design 组件和主题的实现,可以轻松构建精美的应用程序。Material 主题系统更易于开发者理解和跟踪,再也无需查阅多个 XML 文件了。 列表: Compose 的 Lazy 组件提供了一种简单、简洁但功能强大的方式来有效地显示数据列表,并使用最少的样板代码。 动画: Compose 简单且连贯的动画 API 可以更轻松地取悦您的应用程序用户。
全新 UI 构建体验
Jetpack Compose 中的完全声明式方法从根本上改变了您开发 UI 的方式。为了支持新的工作流程和不同的思维方式,我们提供了专为 Compose 设计的新工具,并将对 Compose 的支持添加到我们现有的一些工具中。
Compose 预览
Android Studio Arctic Fox(北极狐) 版本中提供了 Compose 预览功能,这将允许您同时查看处于不同状态、明暗主题或不同字体缩放比例的 Compose 组件,从而使组件开发变得更加容易,无需将整个应用程序部署到您的设备中。通过实时字面量编辑功能的增强,将允许您无需重新编译项目即可查看修改后的 UI 效果。
组件预览的独立部署
如果您曾经希望能够在设备上测试部分 UI,而无需通过您的应用导航到您正在处理的页面,您会喜欢新的部署预览功能,只需为您的 Compose 组件添加 @Preview
注解,即可在预览窗口允许您将该 Compose 组件独立部署在您的设备上进行迭代测试。
支持 Layout Inspector
Layout Inspector 添加了对 Compose 组件的支持,因此您可以自信地将 Compose 与现有 View 进行混合使用。在此处阅读有关 Android Studio Arctic Fox 中的 Compose 支持的更多信息。
Compose Roadmap
采用任何新框架都需要评估,尤其是像新 UI 工具包这样影响深远的东西。为了帮助您做出明智的决定,现在是否适合您,我们发布了一个公开 Roadmap,以分享我们继续构建 Jetpack Compose 的计划。
学习 Compose
为了帮助您学习 Compose,我们为您和您的团队准备了大量学习资源。
教程: 快速了解 Compose 的实际操作并感受声明式编程。
https://developer.android.com/jetpack/compose/tutorial
文档: 从诸如如何在 Compose 中思考、理解状态流或架构分层等基本主题,到有关布局、导航或测试等关键 API 的指南,再到开发人员人体工程学或工具功能的注意事项——我们为每个主题提供了指南。
https://goo.gle/compose-docs
Codelabs: 如果您更喜欢动手学习,那么我们提供 9 个 Codelabs 来实际教您有关 Compose 的所有知识(查看我们全新的 Advanced State & Side Effects codelab)。
https://goo.gle/compose-codelabs
视频: 拿一些 🍿,然后坐下来学习有关 Compose 的所有知识。
https://www.youtube.com/c/AndroidDevelopers/search?query=%23JetpackCompose
示例: 8 个官方示例展示了一系列 API 和用例。
https://github.com/android/compose-samples
中文手册: 对于中文 Android 开发者,目前有一个由国内 Compose 爱好者自行发起的 Compose 中文项目,旨在帮助中文Android 开发者更好的理解和掌握 Compose 框架,非常欢迎能够加入我们!
https://compose.net.cn/https://compose.net.cn/
https://github.com/compose-museum/compose-library
有很多东西要学!Jetpack Compose Pathway 提供了一个通过代码实验室、视频和文档的循序渐进的旅程来帮助指导您。
享受 Composing
我们坚信 Jetpack Compose 是一个巨大的飞跃,让构建出色的 UI 变得更快、更容易。我们迫不及待地想看看您用它构建的应用了。现在 Compose 已经稳定在 1.0 版本,是时候开始了,尽情享受 Composing!
---END---
更文不易,点个“在看”支持一下👇